package com.timesheet.gui.efforttracker.controllers;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

import org.eclipse.jface.viewers.TableViewer;

import com.timesheet.gui.efforttracker.composite.DetailedUtilisationComposite;
import com.timesheet.gui.efforttracker.container.UtilisationModelContainer;
import com.timesheet.gui.efforttracker.providers.DetailedUtilisationContentProvider;
import com.timesheet.gui.efforttracker.providers.DetailedUtilisationLabelProvider;

public class DetailedUtilisationCompositeController  implements PropertyChangeListener{
	
	UtilisationModelContainer utilisationModelContainer = UtilisationModelContainer.getInstance();
	TableViewer tableViewer  = null;
	
	public DetailedUtilisationCompositeController(DetailedUtilisationComposite detailedUtilisationComposite ) {
		
		tableViewer = detailedUtilisationComposite.getTableViewer();
		utilisationModelContainer.addPropertyChangeListener(this);
		init();
	}
	
	public void init(){
		tableViewer.setContentProvider(new DetailedUtilisationContentProvider());
		tableViewer.setLabelProvider(new DetailedUtilisationLabelProvider());
		tableViewer.setInput(utilisationModelContainer.getDetailedUtilisationList());
	}

	@Override
	public void propertyChange(PropertyChangeEvent evt) {
		System.out.println("fireproperty in: DetailedUtilisationCompositeController");
		if("refreshtable".equals(evt.getPropertyName())){
			System.out.println(utilisationModelContainer.getDetailedUtilisationList());
			tableViewer.setInput(utilisationModelContainer.getDetailedUtilisationList());
			tableViewer.refresh();
		}
		
	}

}
